#ifndef DW_GRAPHICS_CONTROLLER_H
#	define DW_GRAPHICS_CONTROLLER_H

namespace dw {
	namespace graphics {

		class Node;

		class Controller
		{

		public:

			enum RepeatType
			{
				CLAMP,
				LOOP
			};

		// Constructors
		protected:	
			
			// Abstract base class
			Controller() {}

		public:	
			
			virtual ~Controller() {}

		// Methods
		public:

			void setNode(Node* node);

			void setActive(bool active);

			Node* getNode() const ;

			bool isActive() const ;

			virtual void update(const float& dt) = 0;

		// Fields
		protected:

			Node* _node;

			bool active;

		};

	} // namespace graphics
} // namespace dw

#endif // !DW_GRAPHICS_SKIN_H
